package com.rc.saas.mini.model.member;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.rc.saas.mini.common.base.BaseModel;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @Description
 * @Author
 * @Date: 2022-07-23
 */

@ApiModel(value = " member_info ", description = " 普通会员表 ")
public class MemberInfo extends BaseModel {

    @ApiModelProperty(value = "会员ID")
    private Long memberId;

    @ApiModelProperty(value = "运营商")
    private String tenantCode;

    @ApiModelProperty(value = "推荐人id(会员ID)")
    private Long recommenderId;

    @ApiModelProperty(value = "会员类型(0个人(非会员)  2企业子帐户 3互联互通用户 10会员) 默认0")
    private String memberType;

    @ApiModelProperty(value = "会员来源 0微信公众号 1 APP注册用户 2 APP第三方登录 3.后台随机生成 4小程序 默认0")
    private String memberSource;

    @ApiModelProperty(value = "公众号原始ID originalid")
    private String wechatOriginalid;

    @ApiModelProperty(value = "公众号unionid")
    private String wechatUnionid;

    @ApiModelProperty(value = "公众号openid")
    private String wechatOpenid;

    @ApiModelProperty(value = "小程序原始id originalid")
    private String minipOriginalid;

    @ApiModelProperty(value = "小程序openid")
    private String minipOpenid;

    @ApiModelProperty(value = "阿里用户id")
    private String aliUserId;

    @ApiModelProperty(value = "用户登录密码(加密过后)")
    private String password;

    @ApiModelProperty(value = "运营商标示+年份+6位流水号 卡号：CWT52019000001")
    private String cardNo;

    @ApiModelProperty(value = "微信头像")
    private String headImg;

    @ApiModelProperty(value = "微信呢称")
    private String nickname;

    @ApiModelProperty(value = "呢称(app)")
    private String nickname2;

    @ApiModelProperty(value = "手机号")
    private String mobile;

    @ApiModelProperty(value = "性别(0未确定 1男 2女) 默认0")
    private String sex;

    @ApiModelProperty(value = "生日")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    @ApiModelProperty(value = "职业")
    private String job;

    @ApiModelProperty(value = "地址省")
    private String provinceId;

    @ApiModelProperty(value = "地址市")
    private String cityId;

    @ApiModelProperty(value = "地址区")
    private String areaId;

    @ApiModelProperty(value = "详细地址")
    private String address;

    @ApiModelProperty(value = "品牌")
    private String carBrand;

    @ApiModelProperty(value = "车型")
    private String carType;

    @ApiModelProperty(value = "车牌地区")
    private String carArea;

    @ApiModelProperty(value = "车牌字母")
    private String carLetter;

    @ApiModelProperty(value = "车牌号")
    private String carNumber;

    @ApiModelProperty(value = "会员标签 0无标签 1出租车2物流车3专车4私车 默认0")
    private String memberCarTag;

    @ApiModelProperty(value = "企业名(仅企业会员有效)")
    private String companyName;

    @ApiModelProperty(value = "企业相关材料图片")
    private String companyImg;

    @ApiModelProperty(value = "企业地址")
    private String companyAddress;

    @ApiModelProperty(value = "同时充电车辆数限制")
    private Integer chargeCountLimit;

    @ApiModelProperty(value = "保留字段 当是企业主会员时，关联企业主帐户的member_id（member_info）普通会员为空")
    private Long enterpriseMemberId;

    @ApiModelProperty(value = "保留字段，不再使用")
    private Long belongEnterpriseId;

    @ApiModelProperty(value = "(elec_status)用户是否在充电 0不是，1正充电 默认0")
    private String chargeStatus;

    @ApiModelProperty(value = "(elec_type)充电类型 0单冲  1多充 默认0")
    private String chargeType;

    @ApiModelProperty(value = "多冲每一车辆最低用户余额")
    private BigDecimal multChargePrice;

    @ApiModelProperty(value = "会员自预设限高SOC，如果没有设置，就以平台默认的SOC为准,charge_default_limit")
    private Integer limitSoc;

    @ApiModelProperty(value = "备注(后台管理员添加)")
    private String remark;

    @ApiModelProperty(value = "状态(0正常 1停用) 默认 0")
    private String status;

    @ApiModelProperty(value = "上次进入运营商客服消息页面时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastCustomMsgTime;

    @ApiModelProperty(value = "上次进入平台消息页面时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastPlatformMsgTime;

    @ApiModelProperty(value = "上次会员编辑时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date memberLastUpdatedTime;

    @ApiModelProperty(value = "注册时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date registerTime;

    @ApiModelProperty(value = "上次登录时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastLoginTime;

    @ApiModelProperty(value = "迁移时原ID")
    private Long migrateId;

    @ApiModelProperty(value = "创建人")
    private String createdBy;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;

    @ApiModelProperty(value = "null")
    private String lastUpdatedBy;

    @ApiModelProperty(value = "null")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastUpdatedTime;

    @ApiModelProperty(value = "微信昵称")
    private String nameWx;

    @ApiModelProperty(value = "阿里昵称")
    private String nameAli;

    @ApiModelProperty(value = "阿里真实姓名")
    private String nameReal;

    @ApiModelProperty(value = "最后消息通知时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastNotityTime;

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public String getTenantCode() {
        return tenantCode;
    }

    public void setTenantCode(String tenantCode) {
        this.tenantCode = tenantCode;
    }

    public Long getRecommenderId() {
        return recommenderId;
    }

    public void setRecommenderId(Long recommenderId) {
        this.recommenderId = recommenderId;
    }

    public String getMemberType() {
        return memberType;
    }

    public void setMemberType(String memberType) {
        this.memberType = memberType;
    }

    public String getMemberSource() {
        return memberSource;
    }

    public void setMemberSource(String memberSource) {
        this.memberSource = memberSource;
    }

    public String getWechatOriginalid() {
        return wechatOriginalid;
    }

    public void setWechatOriginalid(String wechatOriginalid) {
        this.wechatOriginalid = wechatOriginalid;
    }

    public String getWechatUnionid() {
        return wechatUnionid;
    }

    public void setWechatUnionid(String wechatUnionid) {
        this.wechatUnionid = wechatUnionid;
    }

    public String getWechatOpenid() {
        return wechatOpenid;
    }

    public void setWechatOpenid(String wechatOpenid) {
        this.wechatOpenid = wechatOpenid;
    }

    public String getMinipOriginalid() {
        return minipOriginalid;
    }

    public void setMinipOriginalid(String minipOriginalid) {
        this.minipOriginalid = minipOriginalid;
    }

    public String getMinipOpenid() {
        return minipOpenid;
    }

    public void setMinipOpenid(String minipOpenid) {
        this.minipOpenid = minipOpenid;
    }

    public String getAliUserId() {
        return aliUserId;
    }

    public void setAliUserId(String aliUserId) {
        this.aliUserId = aliUserId;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getCardNo() {
        return cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    public String getHeadImg() {
        return headImg;
    }

    public void setHeadImg(String headImg) {
        this.headImg = headImg;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getNickname2() {
        return nickname2;
    }

    public void setNickname2(String nickname2) {
        this.nickname2 = nickname2;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public String getProvinceId() {
        return provinceId;
    }

    public void setProvinceId(String provinceId) {
        this.provinceId = provinceId;
    }

    public String getCityId() {
        return cityId;
    }

    public void setCityId(String cityId) {
        this.cityId = cityId;
    }

    public String getAreaId() {
        return areaId;
    }

    public void setAreaId(String areaId) {
        this.areaId = areaId;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getCarBrand() {
        return carBrand;
    }

    public void setCarBrand(String carBrand) {
        this.carBrand = carBrand;
    }

    public String getCarType() {
        return carType;
    }

    public void setCarType(String carType) {
        this.carType = carType;
    }

    public String getCarArea() {
        return carArea;
    }

    public void setCarArea(String carArea) {
        this.carArea = carArea;
    }

    public String getCarLetter() {
        return carLetter;
    }

    public void setCarLetter(String carLetter) {
        this.carLetter = carLetter;
    }

    public String getCarNumber() {
        return carNumber;
    }

    public void setCarNumber(String carNumber) {
        this.carNumber = carNumber;
    }

    public String getMemberCarTag() {
        return memberCarTag;
    }

    public void setMemberCarTag(String memberCarTag) {
        this.memberCarTag = memberCarTag;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getCompanyImg() {
        return companyImg;
    }

    public void setCompanyImg(String companyImg) {
        this.companyImg = companyImg;
    }

    public String getCompanyAddress() {
        return companyAddress;
    }

    public void setCompanyAddress(String companyAddress) {
        this.companyAddress = companyAddress;
    }

    public Integer getChargeCountLimit() {
        return chargeCountLimit;
    }

    public void setChargeCountLimit(Integer chargeCountLimit) {
        this.chargeCountLimit = chargeCountLimit;
    }

    public Long getEnterpriseMemberId() {
        return enterpriseMemberId;
    }

    public void setEnterpriseMemberId(Long enterpriseMemberId) {
        this.enterpriseMemberId = enterpriseMemberId;
    }

    public Long getBelongEnterpriseId() {
        return belongEnterpriseId;
    }

    public void setBelongEnterpriseId(Long belongEnterpriseId) {
        this.belongEnterpriseId = belongEnterpriseId;
    }

    public String getChargeStatus() {
        return chargeStatus;
    }

    public void setChargeStatus(String chargeStatus) {
        this.chargeStatus = chargeStatus;
    }

    public String getChargeType() {
        return chargeType;
    }

    public void setChargeType(String chargeType) {
        this.chargeType = chargeType;
    }

    public BigDecimal getMultChargePrice() {
        return multChargePrice;
    }

    public void setMultChargePrice(BigDecimal multChargePrice) {
        this.multChargePrice = multChargePrice;
    }

    public Integer getLimitSoc() {
        return limitSoc;
    }

    public void setLimitSoc(Integer limitSoc) {
        this.limitSoc = limitSoc;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getLastCustomMsgTime() {
        return lastCustomMsgTime;
    }

    public void setLastCustomMsgTime(Date lastCustomMsgTime) {
        this.lastCustomMsgTime = lastCustomMsgTime;
    }

    public Date getLastPlatformMsgTime() {
        return lastPlatformMsgTime;
    }

    public void setLastPlatformMsgTime(Date lastPlatformMsgTime) {
        this.lastPlatformMsgTime = lastPlatformMsgTime;
    }

    public Date getMemberLastUpdatedTime() {
        return memberLastUpdatedTime;
    }

    public void setMemberLastUpdatedTime(Date memberLastUpdatedTime) {
        this.memberLastUpdatedTime = memberLastUpdatedTime;
    }

    public Date getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(Date registerTime) {
        this.registerTime = registerTime;
    }

    public Date getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(Date lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public Long getMigrateId() {
        return migrateId;
    }

    public void setMigrateId(Long migrateId) {
        this.migrateId = migrateId;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public String getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    public Date getLastUpdatedTime() {
        return lastUpdatedTime;
    }

    public void setLastUpdatedTime(Date lastUpdatedTime) {
        this.lastUpdatedTime = lastUpdatedTime;
    }

    public String getNameWx() {
        return nameWx;
    }

    public void setNameWx(String nameWx) {
        this.nameWx = nameWx;
    }

    public String getNameAli() {
        return nameAli;
    }

    public void setNameAli(String nameAli) {
        this.nameAli = nameAli;
    }

    public String getNameReal() {
        return nameReal;
    }

    public void setNameReal(String nameReal) {
        this.nameReal = nameReal;
    }

    public Date getLastNotityTime() {
        return lastNotityTime;
    }

    public void setLastNotityTime(Date lastNotityTime) {
        this.lastNotityTime = lastNotityTime;
    }

}
